package com.wavehi.mapper;


import com.wavehi.pojo.User;

import java.util.List;

/**
 * @Author WaveHi
 * @Date 17/9/2021 上午 10:59
 * @Version 1.0
 * @Contact HJBWaveHi@163.com
 * @Description CRUD for table t_user.
 */
public interface IUserMapper {
    /**
     * 向数据库表添加一天数据
     * @param user 需要添加的用户数据
     * @return 返回false表示添加失败
     */
    Boolean insert(User user);

    /**
     * 根据id删除用户数据
     * @param uId 用户对应的id
     * @return 返回false表示删除失败
     */
    Boolean deleteByUId(Long uId);

    /**
     * 更新用户信息
     * @param user 需要更新的用户信息
     * @return 返回false表示更新失败
     */
    Boolean update(User user);

    /**
     * 更新用户名查询指定用户
     * @param uUsername 用户名
     * @return 返回null表示没有该用户的书局
     */
    User selectByUUsername(String uUsername);

    /**
     * 根据id查询用户信息
     * @param uId 用户对应的id
     * @return 返回bull表示没有该用户的数据
     */
    User selectByUId(Long uId);

    /**
     * 查询所有用户的信息，并封装为一个集合
     * @return 返回一个包含所有用户信息的集合
     */
    List<User> selectAll();

    /**
     * 查询指定页数的数据
     * @param page 页数
     * @param size 每页信息的条数
     * @return 返回所有指定用户的信息的集合
     */
    List<User> selectByLimit(int page, int size);
}
